LASER SETTINGS AND EVENTS


/*
- SETTINGS -
blockingCollision =			"1,2"		(string)	A list of collision ID's that block the laser
length =								320			(number)	(in pixels)
interactCollision =			"5,6"		(string)	A list of collision ID's that react to the laser  (Emit events for each of these tiles)
fadeSeconds =						0.2			(number)	Duration of the fading animation when fade() is called

- EVENTS SENT TO ROOT -
laser:burnTile					Occurs each frame the laser passes through a tile whose collision-value is in the interactCollision list
	{tile: coords,  origin: {x:_x, y:_y},  direction: laserDirection,  collision: tileCollisionValue }
laser:hitTile						Occurs each frame the laser is obstructed by a tile whose collision-value is in the blockingCollision list
	{tile: coords,  origin: {x:_x, y:_y},  direction: laserDirection,  collision: tileCollisionValue }
laser:burnSprite				Occurs each frame the laser passes through a sprite containing a laserHit() reaction
	{name: sprite._name,  origin: laserOrigin,  direction: laserDirection }
laser:burnSpriteStart		Occurs when the laser starts hitting a sprite containing a laserStart() reaction
	{name: sprite._name,  origin: laserOrigin,  direction: laserDirection }
laser:burnSpriteStop		Occurs when the laser stops hitting a sprite containing a laserStop() reaction
	{name: sprite._name,  origin: laserOrigin,  direction: laserDirection }

- FUNCTIONS CALLED WITHIN SPRITES -
this.laserHit( evt )					Corresponds with ROOT.laser:burnSprite event
	{name: sprite._name,  origin: {x,y},  direction: laserDirection }
this.laserStart( evt )				Corresponds with ROOT.laser:burnSpriteStart event
	{name: sprite._name,  origin: {x,y},  direction: laserDirection }
this.laserStop( evt )				Corresponds with ROOT.laser:burnSpriteStop event
	{name: sprite._name,  origin: {x,y},  direction: laserDirection }

- SPRITE FLAGS -
this.blockLaser							When a sprite contains this flag, it obstructs the laser from travelling beyond it
*/